package PArrayList;

import java.util.ArrayList;

//集合只能存储引用数据类型
public class ArrayListTest1 {
	public static void main(String[] args) {
		// 创建集合对象
		// 尖括号里面的内容是泛型，只能是引用数据类型
		ArrayList<String> list = new ArrayList<String>();
        //ArrayList是Java提供的一个类，是一个容器，用来存储数据
		//在输出时会输出容器中存储的数据而不是地址值
		//当集合中没有数据时，输出[]
		//当集合中有数据时，输出[数据1，数据2，数据3，...]
		//集合中存储的元素必须是引用数据类型
		System.out.println(list);//输出[]


		//ArrayList成员方法
		//----增----
		//boolean add(E e) 添加元素，返回值是布尔值，表示是否添加成功
		System.out.println("----增----");
		list.add("aaa");
		list.add("bbb");
		list.add("ccc");
		list.add("ddd");
		list.add("eee");
		System.out.println(list);//输出[aaa, bbb, ccc, ddd, eee]

		//----删----
		//boolean remove(Object o) 删除元素，返回值是布尔值，表示是否删除成功
		System.out.println("----删----");
		boolean result1=list.remove("aaa");
		boolean result2=list.remove("bbb");
		System.out.println(list);//输出[ccc, ddd, eee]
		System.out.println(result1);//输出true
		System.out.println(result2);//输出true
		boolean result3=list.remove("fff");
		System.out.println(list);//输出[ccc, ddd, eee]
		System.out.println(result3);//输出false

		//E remove(int index) 删除元素，返回值是被删除的元素
		String result4=list.remove(0);
		System.out.println(list);//输出[ddd, eee]
		System.out.println(result4);//输出ccc

		//----改----
		//E set(int index, E element) 修改元素，返回值是原来的元素
		System.out.println("----改----");
		String result5=list.set(0, "fff");
		System.out.println(list);//输出[fff, eee]
		System.out.println(result5);//输出ddd

		//----查----
		//E get(int index) 获取指定索引的元素
		//int size() 获取集合的长度，返回值是集合中元素的个数
		System.out.println("----查----");
		System.out.println(list.get(0));//输出fff
		System.out.println(list.get(1));//输出eee
		System.out.println(list.size());//输出2




	}
}
